// script.js
// 请确保你的HTML文件中有一个ID为calculate-btn的按钮用于触发计算，以及一个ID为history的元素用于显示历史记录。
// 同时，确保在HTML文件中引入了script.js。


// 初始化历史记录显示区域
const historyDiv = document.getElementById('history');
const exportBtn = document.getElementById('export-btn');

// 存储和检索历史记录
function saveToLocalStorage(result) {
  let history = JSON.parse(localStorage.getItem('carbonHistory')) || [];
  history.push(result);
  localStorage.setItem('carbonHistory', JSON.stringify(history));
  displayHistory();
}

// 显示历史记录
function displayHistory() {
  let history = JSON.parse(localStorage.getItem('carbonHistory')) || [];
  let historyHtml = '<ul>';
  history.forEach((entry, index) => {
    historyHtml += `<li>${entry.date}:${entry.carbon.toFixed(2)} kg CO2</li>`;
  });
  historyHtml += '</ul>';
  historyDiv.innerHTML = historyHtml;
}

// 导出JSON数据为CSV文件
function exportToJsonFile(jsonData) {
  if (!jsonData || jsonData.length === 0) {
    alert('没有可导出的数据');
    return;
  }

  let csvContent = "data:text/csv;charset=utf-8,";
  csvContent += "Date,Carbon (kg CO2)\n"; // CSV header

  jsonData.forEach(function(rowArray) {
    let row = rowArray.date + ',' + rowArray.carbon.toFixed(2);
    csvContent += row + "\r\n"; // add carriage return
  });

  var encodedUri = encodeURI(csvContent);
  var link = document.createElement('a');
  link.setAttribute('href', encodedUri);
  link.setAttribute('download', 'carbon_history.csv');
  document.body.appendChild(link); // Required for FF

  link.click(); // This will download the CSV file
}

// 计算碳排放并保存结果
function calculateCarbon() {
  // 这里应该是计算碳排放的逻辑
  // 假设我们计算得到的结果是 100 kg CO2
  let carbonResult = 100; // 示例值
  let result = {
    date: new Date().toLocaleString(),
    carbon: carbonResult
  };
  saveToLocalStorage(result);
}

// 绑定导出按钮点击事件
exportBtn.addEventListener('click', function() {
  let jsonData = JSON.parse(localStorage.getItem('carbonHistory')) || [];
  exportToJsonFile(jsonData);
});

// 在页面加载时显示历史记录
window.onload = function() {
  displayHistory();
};

// 绑定计算按钮点击事件（假设有一个ID为'viewResults'的按钮）
document.getElementById('viewResults').addEventListener('click', function() {
    const results = JSON.parse(localStorage.getItem('carbonResults')) || [];
    results.sort((a, b) => a.timestamp.localeCompare(b.timestamp)); // 按时间排序
  
    const resultsList = document.getElementById('resultsList');
    resultsList.innerHTML = results.map(result => 
      `<div><strong>${new Date(result.timestamp).toLocaleString()}</strong>:${result.emission.toFixed(2)} kg CO2</div>`
    ).join('');
  });